package com.css.fxfzysx.modules.cztDataMange.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;

/**
 * czt_building_history_damage
 * 建筑物历史震害数据
 */
@Data
public class CbhdInfoEntity {
    /**
     * id
     */
    private String cbhdId;

    /**
     * 烈度
     */
    @Excel(name = "烈度")
    private String intensity;

    /**
     * 破坏程度
     */
    @Excel(name = "破坏程度")
    private String damage;

    /**
     * 省
     */
    @Excel(name = "省")
    private String province;

    /**
     * 市
     */
    @Excel(name = "市")
    private String city;

    /**
     * 区县
     */
    @Excel(name = "区县")
    private String county;

    /**
     * 用途
     */
    @Excel(name = "用途")
    private String use0;

    /**
     * 用途
     */
    @Excel(name = "用途")
    private String use1;

    /**
     * 结构类型
     */
    @Excel(name = "结构类型")
    private String structureType;

    /**
     * 结构类型
     */
    @Excel(name = "结构类型")
    private String structureType1;

    /**
     * 年代
     */
    @Excel(name = "年代")
    private String years;

    /**
     * 设防情况
     */
    @Excel(name = "设防情况")
    private String fortification;

    /**
     * 层数
     */
    @Excel(name = "层数")
    private String cs;

    private Double paramValue;

    /**
     * 创建人
     */
    private String createUser;

    private String createUserName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    private String updateUser;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 删除标记
     */
    private String delFlag;

    /**
     * 数据类别
     */
    private String dataType;

    /**
     * 编号
     */
    private String number;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 是否在基础库
     */
    private String basicLibrary;

    private String role;

    private String createStartTime;

    private String createEndTime;

    private String extends1;
    private String extends2;
    private String extends3;
    private String extends4;
    private String extends5;
    private String extends6;
    private String extends7;
    private String extends8;
    private String extends9;
    private String extends10;

    private List<CbhdInfoEntity> serialData;
    private HashMap<String,Object> mapData;
    private String userName;
    private String st;
    private String use;
    private String region;

    private Integer dataSvType;
    private String orderField;
    private String pId;

    private String calculateOrNot;

    //去重
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        CbhdInfoEntity entity = (CbhdInfoEntity) o;
        return Objects.equals(number, entity.number);
    }

    @Override
    public int hashCode() {
        return Objects.hash(number);
    }
}
